<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %>
<%@taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean-el" %>
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@taglib uri="http://struts.apache.org/tags-logic-el" prefix="logic-el" %>
<%@taglib uri="/WEB-INF/tld/application.tld" prefix="app" %>

<html-el:form action="/cadastroCurso.do">
	<html-el:hidden property="method" styleId="method"/>
	<table style="width: 100%">
		<tr>
			<td align="center" valign="top">
				<!-- CONTENT -->			
				<div class="content">
					<table class="con">
						<tr>
							<td>
								<table class="breadory">
									<tr>
										<td>Cadastro de Curso</td>
									</tr>
								</table>
							
								<table style="width:650px;height:400px">
									<tr>
										<td valign="top">
											<table style="width: 100%" class="tbDadosConsulta">
												<tr>
													<th style="width:25px"></th>
													<th>Nome</th>
													<th style="width:110px">Carga Horária</th>
													<th style="width:100px">Valor</th>
												</tr>
												<logic-el:iterate id="bean" name="listaResultado" scope="request" indexId="i">
													<tr class="linha${i%2}">
														<td style="text-align: center">
															<html-el:radio property="idSelecionado" value="${bean.codigo}" onclick="selectItem(this)"/>
														</td>
														<td style="text-align: left">${bean.nome}</td>
														<td style="text-align: center">${bean.cargaHoraria} hs</td>
														<td style="text-align: center">
															<bean:write name="bean" property="valorVenda" format="###,##0.00" locale="defaultLocale"/>
														</td>
													</tr>
												</logic-el:iterate>	
												<html-el:hidden property="idSelecionado"/>								
											</table>
										</td>
									</tr>
									<tr>
										<td class="buttons" align="right" valign="bottom">
											<a href="javascript:excluir()" class="button" id="btnExcluir" style="visibility: hidden;">
												<span>Excluir</span>
											</a>
											<a href="javascript:alterar()" class="button" id="btnAlterar" style="visibility: hidden;">
												<span>Alterar</span>
											</a>
											<a href="javascript:incluir()" class="button">
												<span>Incluir</span>
											</a>
										</td>
									</tr>
								</table>							
							</td>
						</tr>						
					</table>	
				</div>	
			</td>
		</tr>
	</table>
	</html-el:form>
	<div id="dialogIncluir" data-dojo-type="dijit.Dialog" title="Curso - Incluir">
		<table class="formulario">
			<tr>
				<td class="label">Nome:</td>
				<td class="inputField" colspan="5">
					<input type="text" id="nomeIncluir" title="Nome" size="32" maxlength="40"/>
				</td>
			</tr>
			<tr>
				<td class="label">Valor Venda:</td>
				<td class="inputField">
					<input type="text" id="valorVendaIncluir" title="Valor Venda" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
				<td>&nbsp;</td>
				<td class="label">Valor Custo:</td>
				<td class="inputField">
					<input type="text" id="valorCustoIncluir" title="Valor Custo" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Prova Venda:</td>
				<td class="inputField">
					<input type="text" id="valorProvaVendaIncluir" title="Prova Custo" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
				<td>&nbsp;</td>
				<td class="label">Prova Custo:</td>
				<td class="inputField">
					<input type="text" id="valorProvaCustoIncluir" title="Prova Custo" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Carga Horária:</td>
				<td class="inputField">
					<input type="text" id="cargaHorariaIncluir" title="Carga Horária" size="1" maxlength="3" style="text-align: left"/>
				</td>
			</tr>
			<tr>
				<td class="label">Qtde Minima:</td>
				<td class="inputField">
					<input type="text" id="qtdeMinimaPresenteIncluir" title="Qtde Minima de Presentes" size="1" maxlength="2" style="text-align: left"/>
				</td>
			</tr>
			<tr>
				<td class="label">Tipo Período:</td>
				<td class="inputField">
					<app:comboTipoPeriodo styleId="tipoPeriodoIncluir" title="Tipo Período" style="width:150px"/>
				</td>
			</tr>
			<tr>
				<td class="buttons" align="right" valign="bottom" colspan="5">	
					<a href="javascript:incluirCancelar()" class="button">
						<span>Cancelar</span>
					</a>
					<a href="javascript:incluirConfirmar()" class="button">
						<span>Confirmar</span>
					</a>
				</td>
			</tr>
		</table>
	</div>
	<div id="dialogAlterar" data-dojo-type="dijit.Dialog" title="Curso - Alterar">
		<table class="formulario">
			<tr>
				<td class="label">Nome:</td>
				<td class="inputField">
					<input type="text" id="nomeAlterar" title="Nome" size="30" maxlength="40"/> 
				</td>
			</tr>
			<tr>
				<td class="label">Valor Venda:</td>
				<td class="inputField">
					<input type="text" id="valorVendaAlterar" title="Valor Venda" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Valor Custo:</td>
				<td class="inputField">
					<input type="text" id="valorCustoAlterar" title="Valor Custo" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Prova Venda:</td>
				<td class="inputField">
					<input type="text" id="valorProvaVendaAlterar" title="Prova Venda" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Prova Custo:</td>
				<td class="inputField">
					<input type="text" id="valorProvaCustoAlterar" title="Prova Custo" size="8" maxlength="8" style="text-align: right" onkeypress="return formatar_moeda(this,'.',',',event);"/>
				</td>
			</tr>
			<tr>
				<td class="label">Carga Horária:</td>
				<td class="inputField">
					<input type="text" id="cargaHorariaAlterar" title="Carga Horária" size="1" maxlength="3" style="text-align: left"/>
				</td>
			</tr>
			<tr>
				<td class="label">Qtde Minima:</td>
				<td class="inputField">
					<input type="text" id="qtdeMinimaPresenteAlterar" title="Qtde Minima de Presentes" size="1" maxlength="2" style="text-align: left"/>
				</td>
			</tr>
			<tr>
				<td class="label">Tipo Período:</td>
				<td class="inputField">
					<app:comboTipoPeriodo styleId="tipoPeriodoAlterar" title="Tipo Período" style="width:150px"/>
				</td>
			</tr>
			<tr>
				<td class="buttons" align="right" valign="bottom" colspan="2">	
					<a href="javascript:alterarCancelar()" class="button">
						<span>Cancelar</span>
					</a>
					<a href="javascript:alterarConfirmar()" class="button">
						<span>Confirmar</span>
					</a>
				</td>
			</tr>
		</table>
	</div>
<script language="javascript">

	$("#qtdeMinimaPresenteIncluir").forceNumericOnly();
	$("#cargaHorariaIncluir").forceNumericOnly();
	$("#qtdeMinimaPresenteAlterar").forceNumericOnly();
	$("#cargaHorariaAlterar").forceNumericOnly();


	function selectItem(i) {
		document.getElementById("btnAlterar").style.visibility = "visible";
		document.getElementById("btnExcluir").style.visibility = "visible";
	}
	function consultar() {
		document.forms[0].method.value = "consultar";
		document.forms[0].submit();
	}
	function incluir() {
		document.getElementById('nomeIncluir').value = "";
		document.getElementById('valorVendaIncluir').value = "";
		document.getElementById('valorCustoIncluir').value = "";
		document.getElementById('valorProvaVendaIncluir').value = "";
		document.getElementById('valorProvaCustoIncluir').value = "";
		document.getElementById('qtdeMinimaPresenteIncluir').value = "";
		document.getElementById('cargaHorariaIncluir').value = "";
		dijit.byId("dialogIncluir").show();
	}
	function incluirConfirmar() {
		
		if(!mandatoryField('nomeIncluir')) {
			return;
		}
		if(!mandatoryField('valorVendaIncluir')) {
			return;
		}
		if(!mandatoryField('qtdeMinimaPresenteIncluir')) {
			return;
		}
		if(!mandatoryField('cargaHorariaIncluir')) {
			return;
		}
		if(!mandatoryField('tipoPeriodoIncluir')) {
			return;
		}
		
		require(["dojo/_base/lang", "dojo/_base/xhr"], function(lang, xhr) {
			xhr.post({
		        url: "cadastroCurso.do?method=incluir",
		        timeout: ${ajaxTimeoutVoid},
		        content: {
		        	ajax: 'true',
		    		nome:document.getElementById('nomeIncluir').value,
		    		valorVenda:document.getElementById('valorVendaIncluir').value,
		    		valorCusto:document.getElementById('valorCustoIncluir').value,
		    		valorProvaVenda:document.getElementById('valorProvaVendaIncluir').value,
		    		valorProvaCusto:document.getElementById('valorProvaCustoIncluir').value,
		        	qtdeMinimaPresente:document.getElementById('qtdeMinimaPresenteIncluir').value,
		        	cargaHoraria:document.getElementById('cargaHorariaIncluir').value,
		        	tipoPeriodo:document.getElementById('tipoPeriodoIncluir').value
		        },
		        load: function(data, ioArgs) {
		        	alert("Curso incluído com sucesso!");
		        	consultar();
		        },
				error: function(data, ioArgs) {
					showAlertMessage("Erro ao realizar está operação! Tente novamente!");
		        }
		    });
		});
		
		dijit.byId("dialogIncluir").hide();
	}
	
	function incluirCancelar() {
		dijit.byId("dialogIncluir").hide();		
	}
	
	function alterar() {
		if(!mandatoryRadio('idSelecionado', 'Alteração')) {
			return;
		}
		require(["dojo/_base/lang", "dojo/_base/xhr"], function(lang, xhr) {
			xhr.post({
		        url: "cadastroCurso.do?method=alterarIniciar",
		        timeout: ${ajaxTimeoutReturn},
		        handleAs: "json",
		        content: {
		        	ajax: 'true',
		        	idSelecionado:getSelectedRadio('idSelecionado').value
		        },
		        load: function(data) {
		    		document.getElementById('nomeAlterar').value = data.nome;
		    		document.getElementById('valorVendaAlterar').value = formataStrMoeda(data.valorVenda);
		    		document.getElementById('valorCustoAlterar').value = formataStrMoeda(data.valorCusto);
		    		document.getElementById('valorProvaVendaAlterar').value = formataStrMoeda(data.valorProvaVenda);
		    		document.getElementById('valorProvaCustoAlterar').value = formataStrMoeda(data.valorProvaCusto);
		    		document.getElementById('qtdeMinimaPresenteAlterar').value = data.qtdeMinimaPresente;
		    		document.getElementById('cargaHorariaAlterar').value = data.cargaHoraria;
		    		document.getElementById('tipoPeriodoAlterar').value = data.tipoPeriodo;
					dijit.byId("dialogAlterar").show();
		        },
				error: function(data) {
					showAlertMessage("Erro ao realizar está operação! Tente novamente!");
		        }
		    });
		});
	}
	function alterarConfirmar() {
		if(!mandatoryField('nomeAlterar')) {
			return;
		}
		if(!mandatoryField('valorVendaAlterar')) {
			return;
		}
		if(!mandatoryField('qtdeMinimaPresenteAlterar')) {
			return;
		}
		if(!mandatoryField('cargaHorariaAlterar')) {
			return;
		}
		if(!mandatoryField('tipoPeriodoAlterar')) {
			return;
		}
		
		require(["dojo/_base/lang", "dojo/_base/xhr"], function(lang, xhr) {
			xhr.post({
		        url: "cadastroCurso.do?method=alterar",
		        timeout: ${ajaxTimeoutVoid},
		        content: {
		        	ajax: 'true',
		    		nome:document.getElementById('nomeAlterar').value,
		    		valorVenda:document.getElementById('valorVendaAlterar').value,
		    		valorCusto:document.getElementById('valorCustoAlterar').value,
		    		valorProvaVenda:document.getElementById('valorProvaVendaAlterar').value,
		    		valorProvaCusto:document.getElementById('valorProvaCustoAlterar').value,
		        	qtdeMinimaPresente:document.getElementById('qtdeMinimaPresenteAlterar').value,
		        	cargaHoraria:document.getElementById('cargaHorariaAlterar').value,
		        	tipoPeriodo:document.getElementById('tipoPeriodoAlterar').value,
		        	idSelecionado:getSelectedRadio('idSelecionado').value
		        },
		        load: function(data, ioArgs) {
		        	alert("Curso alterado com sucesso!");
		        	consultar();
		        },
				error: function(data, ioArgs) {
					showAlertMessage("Erro ao realizar está operação! Tente novamente!");
		        }
		    });
		});
		
		dijit.byId("dialogAlterar").hide();
	}
	
	function alterarCancelar() {
		dijit.byId("dialogAlterar").hide();		
	}
	
	function excluir() {
		if(!mandatoryRadio('idSelecionado', 'Exclusão')) {
			return;
		}
	
		if(!confirm("Deseja realmente excluir?")) {
			return;
		}	
		
		require(["dojo/_base/lang", "dojo/_base/xhr"], function(lang, xhr) {
			xhr.post({
		        url: "cadastroCurso.do?method=excluir",
		        timeout: ${ajaxTimeoutVoid},
		        content: {
		        	ajax: 'true',
		        	idSelecionado:getSelectedRadio('idSelecionado').value
		        },
		        load: function(data, ioArgs) {
		        	alert("Curso excluído com sucesso!");
		        	consultar();
		        },
				error: function(data, ioArgs) {
					showAlertMessage("Erro ao realizar está operação! Tente novamente!");
		        }
		    });
		});
	}
	
</script>